/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package administracion.helper;

import java.math.BigDecimal;
import javax.swing.JTable;
import javax.swing.table.TableColumn;

/**
 *
 * @author Renato
 */
public class Utiles_Tabla {

    public static void definirAnchoColumnasJTable( JTable tabla, int[] porcentajes) throws Exception{
        int suma_aux=0;
        
        for(int a=0;a<porcentajes.length;a++){
            suma_aux+=porcentajes[a];
        }
        if(suma_aux>100)
            throw new Exception("Los porcentajes Ingresados como ancho de columns suman mas de 100%");
        
        if(tabla.getColumnCount()!= porcentajes.length)
            throw new Exception("La cantidad de tamaños de columnas no coincide con la cantidad de columnas");
                
        int ancho = tabla.getBounds().width;
        int totales=tabla.getColumnCount();        
        int anchoColumna=0;        
        TableColumn columnaTabla;
        BigDecimal division;
        for (int i = 0; i < tabla.getColumnCount(); i++) {            
            columnaTabla = tabla.getColumnModel().getColumn(i);
            division=new BigDecimal(porcentajes[i]);
            division=division.divide(new BigDecimal(100));
            division=division.multiply(new BigDecimal(ancho));
            anchoColumna=division.intValue();           
            columnaTabla.setPreferredWidth(anchoColumna);
        }
    }
}
